﻿#pragma once

#include <map>
#include "buffer_object.h"

class VertexArrayObject
{
public:
    GL_RENDER_SYSTEM_API VertexArrayObject();
    GL_RENDER_SYSTEM_API ~VertexArrayObject();

    GL_RENDER_SYSTEM_API void addAttribArray(const int attribID, BufferObjectPtr pBufferObj);
    GL_RENDER_SYSTEM_API void bind();
    GL_RENDER_SYSTEM_API void unBind();

private:
    void _create();

private:
    unsigned int _uID;
    std::map<unsigned int, BufferObjectPtr> _attribMap;
};